home *** CD-ROM | disk | FTP | other *** search
- //: C16:TStackTest.cpp
- // From Thinking in C++, 2nd Edition
- // Available at http://www.BruceEckel.com
- // (c) Bruce Eckel 1999
- // Copyright notice in Copyright.txt
- // Use template list & iterator
- #include "TStack.h"
- #include "../require.h"
- #include <iostream>
- #include <fstream>
- #include <string>
- using namespace std;
-
- int main() {
- ifstream file("TStackTest.cpp");
- assure(file, "TStackTest.cpp");
- TStack<string> textlines;
- // Read file and store lines in the list:
- string line;
- while(getline(file, line))
- textlines.push(new string(line));
- int i = 0;
- // Use iterator to print lines from the list:
- TStackIterator<string> it(textlines);
- TStackIterator<string>* it2 = 0;
- while(it) {
- cout << *it.current() << endl;
- it++;
- if(++i == 10) // Remember 10th line
- it2 = new TStackIterator<string>(it);
- }
- cout << *(it2->current()) << endl;
- delete it2;
- } ///:~
-